﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace IcbcOpenDemo.Models
{

    public class RequestConsumePurchaseShowPay : BaseAPI
    {
        // 该API的地址,加上开放平台的地址组合成调用API的全路径
        private string PATH = "ui/cardbusiness/aggregatepay/b2c/online/ui/consumepurchaseshowpay/V1";
        public override string GetPath()
        {
            return PATH;
        }

        #region 该接口的bizcontent部份，请将所有属性的类型都设置为string
        public string mer_id { get; set; } //商户编号 
        public string out_trade_no { get; set; } //商户订单号，只能是数字、大小写字母，且在同一个商户号下唯一 
        public string mer_prtcl_no { get; set; } //收单产品协议编号 
        public string order_amt { get; set; } //订单金额，单位为分 100
        public string notify_url { get; set; } //异步通知商户URL，端口必须为443或80 
        public string icbc_appid { get; set; } //工行API平台的APPID 
        public string openId { get; set; } //第三方用户标识，微信支付上送用户在商户APPID（指商户在微信开放平台的APPID）下的唯一标识；支付宝支付上送用户的唯一标识。若该字段不上送，取用户在工行APPID（指工行在微信开放平台的APPID）下的唯一标识 oUSDOusdsdISLSDlskdf
        public string saledepname { get; set; } //门店名称，用于显示在买单页上。该长度限制是按GBK编码的字节长度，如”测试”，则所占长度为4。 
        public string body { get; set; } //微信商品描述，传入微信公众号名称-实际商品名称。微信支付时必输，非微信支付的送空字符串 
        public string subject { get; set; } //支付宝的订单标题，支付宝支付时必输，非支付宝支付的送空字符串 
        public string notify_type { get; set; } //通知类型，表示在交易处理完成后把交易结果通知商户的处理模式。取值“HS”：在交易完成后将通知信息，主动发送给商户，发送地址为notify_url指定地址； 取值“AG”：在交易完成后不通知商户。不送或送空，默认为”HS” HS
        public string result_type { get; set; } //结果发送类型，通知方式为HS时有效。取值“0”：无论支付成功或者失败，银行都向商户发送交易通知信息；取值“1”，银行只向商户发送交易成功的通知信息。不送或送空，默认为”0” 0
        public string mer_acct { get; set; } //商户账号，商户入账账号，只能交易时指定。（商户付给银行手续费的账户，可以在开户的时候指定，也可以用交易指定方式；用交易指定方式则使用此商户账号）。该字段暂不支持上送 
        public string expireTime { get; set; } //订单失效时间，单位为秒，建议大于60秒 120
        public string attach { get; set; } //附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据 
        public string return_url { get; set; } //支付成功回显页面，支付成功后，跳转至该页面显示。默认跳转到工行的广告页 
        public string pay_limit { get; set; } //支付方式限定，上送”no_credit“表示不支持信用卡支付；上送“no_balance”表示仅支持银行卡支付；不上送或上送空表示无限制。暂只支持微信公众号 
        public string shop_appid { get; set; } //商户在微信开放平台的APPID，微信支付且openId有值时必送 
        public string order_apd_inf { get; set; } //订单附加信息 
        public string detail { get; set; } //商品详细描述，对于使用单品优惠的商户，该字段必须按照规范上传。微信与支付宝的规范不同，请根据支付方式对应相应的规范上送 
        public string cust_name { get; set; } //客户姓名（仅实名认证输入） 
        public string cust_cert_type { get; set; } //证件类型（仅实名认证输入） 0-身份证；1-护照；2-军官证;3-士兵证；6-户口薄（微信支付仅支持身份证）
        public string cust_cert_no { get; set; } //证件号码（仅实名认证输入） 
        public string goods_tag { get; set; } //订单优惠标记         
        #endregion
    }

}
